home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1990-10-25 | 3.2 KB | 82 lines |
- ' ************************************************************************
- ' FUNSCHOOL 4 - UNDER 5s
- ' (C) EUROPRESS SOFTWARE LTD 1991
- ' ************************************************************************
- Set Buffer 5
- Set Sprite Buffer 256
- Auto View Off
- While Screen<>-1 : Screen Close Screen : Wend
- Screen Open 0,320,200,16,Lowres : Flash Off : Curs Off : Hide On
- STUPID=Free : Clear Key : Led Off
- Fade 1 : Wait 15
- 80 RV=999
- Key Speed 255,255 : Clear Key
- Load Iff "intro/menu.iff",0 : Wait Vbl : Flash Off : Curs Off : Hide On
- Auto View On : View : Wait Vbl
- For I=0 To 15 : Colour I+16,Colour(I) : Wait Vbl : Next I
- Flash 15,"(000,4)(222,4)(444,4)(666,4)(888,4)(AAA,4)(CCC,4)(DDD,4)(FFF,8)(DDD,4)(CCC,4)(AAA,4)(888,4)(666,4)(444,4)(222,4)"
- Sprite Update On : Update On : Bob Update On : Limit Mouse : Wait Vbl : X Mouse=160-8 : Y Mouse=100-8
- Reserve Zone 20
- 130 Dim XYZ(24) : Dim F$(6) : POS=1 : X=2 : Y=111
- 140 For A=0 To 23 : Read XYZ(A) : Next
- 150 OK=1 : Z=1
- 160 For B=0 To 23 Step 4
- 170 Set Zone Z,XYZ(B)-9,XYZ(B+1)-7 To XYZ(B+2)+10,XYZ(B+3)+14
- 180 Z=Z+1
- 190 Next
- 210 Ink 15 : Box XYZ((POS-1)*4),XYZ(((POS-1)*4)+1) To XYZ(((POS-1)*4)+2),XYZ(((POS-1)*4)+3)
- 220 If XM<>X Mouse or YM>Y Mouse or MK>0 Then Sprite 8,XM,YM,1
- 230 XM=X Mouse : YM=Y Mouse : MK=Mouse Key
- 240 K$=Inkey$ : If OK=0 Then Sprite 8,XM,YM,1 : Wait Vbl
- 250 If K$=" " Then OK=1 : Sprite Off : Wait Vbl : Gosub 320
- 260 If Scancode=68 or MK>0 and CH<>0 Then Goto 480
- 270 Wait Vbl : CH=Mouse Zone
- 280 If CH>0 and RV<>CH Then Goto 390
- 300 Goto 220
- 320 Ink 14 : Box XYZ((POS-1)*4),XYZ(((POS-1)*4)+1) To XYZ(((POS-1)*4)+2),XYZ(((POS-1)*4)+3)
- 330 POS=POS+1
- 340 If POS>6 Then POS=1 : Goto 360
- 350 X=X+102
- 360 Ink 15 : Box XYZ((POS-1)*4),XYZ(((POS-1)*4)+1) To XYZ(((POS-1)*4)+2),XYZ(((POS-1)*4)+3)
- 370 Return
- 390 Rem
- 391 Rem
- 395 OPOS=POS : X2=X : Y2=Y : RV=CH
- 400 If CH=1 Then POS=CH : X=2 : Y=111
- 410 If CH=2 Then POS=CH : X=104 : Y=111
- 420 If CH=3 Then POS=CH : X=206 : Y=111
- 430 If CH=4 Then POS=CH : X=2 : Y=186
- 440 If CH=5 Then POS=CH : X=104 : Y=186
- 450 If CH=6 Then POS=CH : X=206 : Y=186
- 455 If X=X2 and Y=Y2 Then Goto 460
- 457 Ink 14 : Box XYZ((OPOS-1)*4),XYZ(((OPOS-1)*4)+1) To XYZ(((OPOS-1)*4)+2),XYZ(((OPOS-1)*4)+3)
- 460 Gosub 360 : Goto 220
- 480 Restore 590 : For A=1 To 6 : Read F$(A) : Next
- 490
- Flash Off : Palette $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0 : Amal Off : Bob Off : Wait 20
- Key Speed 10,2
- 500 Sprite Off
- 520 On Error Goto 531
- Z=POS : Erase 1
- Sprite Off : Wait Vbl : If Exist(F$(Z)) Then Run F$(Z)
- For DRV=0 To 3
- If Exist("df"+Str$(DRV)+":"+F$(Z)) Then Dir$="df"+Str$(DRV)+":" : Run F$(Z)
- Next DRV
- A=A/0
- Rem - Wow, an error has occurred -
- 531 Fade 1 : Wait 7 : Cls 0 : Palette $0,$FFF : Pen 1 : Paper 0 : Locate 0,10 : Centre "Insert the other disc" : Locate 0,11 : Centre "then press any key."
- Clear Key : Wait Key : Locate 0,10 : Centre Space$(80)
- Resume 490
- 540 Resume 490
- 560 Data 16,199-155,98,199-105
- 570 Data 120,199-155,202,199-105
- 571 Data 224,199-155,306,199-105
- 572 Data 16,199-81,98,199-31
- 573 Data 120,199-81,202,199-31
- 574 Data 224,199-81,306,199-31
- 590 Data "Library.AMOS"
- 600 Data "Basketball.AMOS"
- 610 Data "Shopkeeper.AMOS"
- 620 Data "Log Cabin.AMOS"
- 630 Data "Opposites.AMOS"
- 640 Data "Typing.AMOS"